
#ifndef _ARC_H_
#define _ARC_H_

#include "noeud.h"
#include "object.h"
#include "list.h"

void arc_create(Arc** arc, Noeud *predecesseur, Noeud *successeur, int cost);
void arc_initialize(Arc* arc, Noeud *predecesseur, Noeud *successeur, int cost);
void arc_copy(const Arc* arc, Arc* ret);
void arc_clear(Arc* arc);
void arc_destroy(Arc** arc);
int arc_equals(const Arc* a, const Arc* b);

/*Arc*/

Object _object_Arc;

Object* object_getArc();
void _arc_toString(const void* value, int fd);
int _arc_equals(const void* value, const void* operande);
int _arc_copy(const void* value, void* ret);
int _arc_create(void** value, void* args);
int _arc_initialize(void* value, void* args);
void _arc_destroy(void** value);
void _arc_clear(void* value);

#endif

